#ifndef MAZE_H
#define MAZE_H

#include "GameOpt.h"
class Cell;
class Point;

class Maze : public SaveLoad
{
public:
	Maze();
	~Maze();
	bool ReadMap(void);		//read the maze file
	bool PrintMap(unsigned int LineNum) const;	//print line of the Maze

	Cell& operator()(const Point rPoint);//return Cell from the maze
	Cell& operator()(const unsigned int xPos,const unsigned int yPos); //Return Cell of the maze
	virtual bool SaveState(ofstream &);
	virtual bool LoadState(ifstream &);

private:
	Cell Cells[MAZE_SIZE_X][MAZE_SIZE_Y];
};


#endif
